package com.springboot.demo.controller;


import ch.qos.logback.core.util.StringUtil;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/user")
public class user {
    @RequestMapping("/login")
    public Boolean login(String userName, String passWord, HttpSession session){
//        if(userName ==null || "".equals(userName) && passWord ==null || "".equals(passWord)){
//            return false;
//        }
        // StringUtils.hasLength
        // ==
        // userName == null || "".equals(userName)

        // 校验参数
        // 判断账号 与 密码是否符合要求
        if(!StringUtils.hasLength(userName) && !StringUtils.hasLength(passWord)){
            return false;
        }

        // 判断用户与密码是否正确
        if(userName.equals("admin") && passWord.equals("admin")){
            //如果正确就在缓存中添加这个用户信息
            session.setAttribute("loginUser",userName);
            return true;
        }
        return false;
    }

//    HttpServletRequest的getAttribute方法是可以为空的，所以需要先判断是否为空
//    @RequestMapping("/getLoginUser")
//    public String getLoginUser(HttpServletRequest request){
//        HttpSession session=request.getSession(false);
//        if(session!=null){
//            String loginUser=(String)session.getAttribute("loginUser");
//            return loginUser;
//        }
//        return "";
//    }


    //HttpSession的getAttribute方法不能为空，所以无需判断是否为空
    @RequestMapping("/getLoginUser")
    public String getLoginUser(HttpSession session){
        String loginUsername = (String) session.getAttribute("loginUser");
        return loginUsername;
    }



}
